'''
1.使用列表来存储学生的信息，每个学生的信息是一个字典，字典的键是学生的信息，值是学生的信息。
2.使用字典来存储学生的信息，字典的键是：姓名、年龄、性别，值是学生的信息。
可以在；列表里装很多学生，就相当与在列表里装了很多字典。
3.统计一下班级里面男生有几个，女生有几个。
'''

# 1.定义一个列表，用来存储学生的信息，每个学生的信息是一个字典，字典的键是学生的信息，值是学生的信息。
lst=[
    {"name":"张三","age":18,"gender":"男"},
    {"name":"李四","age":19,"gender":"女"},
]
#添加新的学生信息
# 修正语法错误，Python 中定义函数使用 def 关键字，同时避免使用内置类型名 dict 作为参数名
def add_student(): # 定义一个函数，用来添加学生的信息，参数是一个字典，字典的键是学生的信息，值是学生的信息。
    name=input("请输入学生的姓名：") # 输入学生的姓名，输入的内容是字符串，字符串的名称是name
    age=int(input("请输入学生的年龄：")) # 输入学生的年龄，输入的内容是字符串，字符串的名称是age，需要将字符串转换成整数，整数的名称是age
    gender=input("请输入学生的性别：") # 输入学生的性别，输入的内容是字符串，字符串的名称是gender
    dict={"name":name,"age":age,"gender":gender} # 将输入的内容封装成一个字典，字典的名称是dict
    lst.append(dict) # 将字典添加到列表中，列表的名称是lst
    print("添加成功") # 输出添加成功，字符串的名称是"添加成功"


#统计列表中男生和女生的数量

def count_student(): # 定义一个函数，用来统计列表中男生和女生的数量，参数是一个列表，列表的名称是lst，列表的元素是字典，字典的键是学生的信息，值是学生的信息。
    male_count=0 # 定义一个变量，用来统计男生的数量，变量的名称是male_count，变量的初始值是0
    female_count=0 # 定义一个变量，用来统计女生的数量，变量的名称是female_count，变量的初始值是0
    for i in lst: # 遍历列表，i是列表中的每一个元素，i的类型是字典，字典的名称是i，字典的键是学生的信息，值是学生的信息。
        if i["gender"]=="男": # 判断字典中的性别是否是男，如果是男，就将男生的数量加1，变量的名称是male_count，变量的初始值是0
            male_count+=1 # 将男生的数量加1，变量的名称是male_count，变量的初始值是0
        elif i["gender"]=="女": # 判断字典中的性别是否是女，如果是女，就将女生的数量加1，变量的名称是female_count，变量的初始值是0
            female_count+=1 # 将女生的数量加1，变量的名称是female_count，变量的初始值是0
    print("男生的数量是：",male_count) # 输出男生的数量，变量的名称是male_count，变量的初始值是0
    print("女生的数量是：",female_count) # 输出女生的数量，变量的名称是female_count，变量的初始值是0

#展示列表中的学生信息
def show_student(): # 定义一个函数，用来展示列表中的学生信息，参数是一个列表，列表的名称是lst，列表的元素是字典，字典的键是学生的信息，值是学生的信息。
    for i in lst: # 遍历列表，i是列表中的每一个元素，i的类型是字典，字典的名称是i，字典的键是学生的信息，值是学生的信息。
        print(i) # 输出字典，字典的名称是i，字典的键是学生的信息，值是学生的信息。

#用户操作选择界面
menu="""==========请选择您的操作==========
1.添加学生信息
2.查看学生信息
3.统计男女生数量
0.退出系统
==============================="""

while True: # 循环，条件是True，条件的名称是True，条件的初始值是True
    print(menu) # 输出菜单，字符串的名称是menu  
            #获取用户的选择
    choice=input("请输入您的选择") # 输入菜单，输入的内容是字符串，字符串的名称是choice
    if choice=="1": # 判断用户的选择是否是1，如果是1，就执行添加学生信息的操作，字符串的名称是"1"，字符串的名称是choice
        add_student() # 调用函数，函数的名称是add_student，函数的参数是一个列表，列表的名称是lst，列表的元素是字典，字典的键是学生的信息，值是学生的信息。
    elif choice=="2": # 判断用户的选择是否是2，如果是2，就执行查看学生信息的操作，字符串的名称是"2"，字符串的名称是choice
        show_student() # 调用函数，函数的名称是show_student，函数的参数是一个列表，列表的名称是lst，列表的元素是字典，字典的键是学生的信息，值是学生的信息。
    elif choice=="3": # 判断用户的选择是否是3，如果是3，就执行统计男女生数量的操作，字符串的名称是"3"，字符串的名称是choice
        count_student() # 调用函数，函数的名称是count_student，函数的参数是一个列表，列表的名称是lst，列表的元素是字典，字典的键是学生的信息，值是学生的信息。
    elif choice=="0": # 判断用户的选择是否是0，如果是0，就退出系统，字符串的名称是"0"，字符串的名称是choice
        break # 退出循环，条件的名称是True，条件的初始值是True
    else: # 如果用户的选择不是1、2、3、0，就提示用户输入错误，字符串的名称是"输入错误"，字符串的名称是choice
        print("输入错误") # 输出输入错误，字符串的名称是"输入错误"，字符串的名称是choice